package by.imotaeva.printing_services.services;

import java.util.List;

import javax.transaction.Transactional;

import by.imotaeva.printing_services.datamodel.BindingOrder;
import by.imotaeva.printing_services.datamodel.PrintingProductOrder;

public interface BindingOrderService {

	BindingOrder get(Long id);

	@Transactional
	List<Long> getBindingOrderIds();

	@Transactional
	Long getCount();

	@Transactional
	BindingOrder getFullBindingOrder(Long id);

	@Transactional
	void createNewBindingOrder(PrintingProductOrder printingProductOrder,
			BindingOrder bindingOrder);

	@Transactional
	void update(BindingOrder bindingOrder);

	@Transactional
	void removeBindingOrder(Long id);

	@Transactional
	List<BindingOrder> getAllBindingOrders();

	@Transactional
	void deleteAllBindingOrders();

}
